package com.x.crm.model;

import com.x.crm.DocDesc;
import com.x.crm.model.VO.IntentionVO;
import com.x.framework.annotation.MappingColumn;
import com.x.framework.annotation.MappingTable;
import com.x.framework.model.BaseObject;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.Date;
import java.util.List;

@MappingTable(tableName = "CRM_INTENTION")
public class Intention extends BaseObject {
	@DocDesc("主键")
	@MappingColumn(columnName = "INTENTION_ID", columnPk = true, columnLength = 32)
	private String intentionId;
	@DocDesc(value = "1-求购意向,2-出售意向")
	@MappingColumn(columnName = "INTENTION_TYPE")
	private Integer intentionType;
	@MappingColumn(columnName = "INTENTION_NO")
	private String intentionNo;
	@DocDesc(value = "意向状态,\t-1-已过滤,\t0-待分配,\t10-待跟进,\t20-跟进中,\t30-已预约,\t40-已到店,\t50-已预订,\t60-已成交,\t70-已战败,\t80-已过期", selective = false)
	@MappingColumn(columnName = "INTENTION_STATE")
	private Integer intentionState;
	@MappingColumn(columnName = "OPPORTUNITY_STATE") //商机状态 1待处理2已处理 3已过滤
	private Integer opportunityState;
	@MappingColumn(columnName = "OPPORTUNITY_OPR_TIME") //商机过滤时间
	private Date opportunityOprTime;
	@MappingColumn(columnName = "OPPORTUNITY_OPR_REMARK")//商机过滤说明
	private String opportunityRemark;
	@MappingColumn(columnName = "FOLLOWER_ID")
	private String followerId;
	@MappingColumn(columnName = "FOLLOWER_NAME")
	private String followerName;
	@MappingColumn(columnName = "IS_OPPORTUNITY") //是否是商机 1是 0 不是
	private Integer isOpportunity;
	@MappingColumn(columnName = "INTENTION_BUDGET_MIND")
	private BigDecimal intentionBudgetMind;
	@MappingColumn(columnName = "INTENTION_BUDGET_MAXD")
	private BigDecimal intentionBudgetMaxd;
	@DocDesc("创建时间")
	@MappingColumn(columnName = "CEATE_TIME")
	private Date createTime;
	@DocDesc("更新时间")
	@MappingColumn(columnName = "UPDATE_TIME")
	private Date updateTime;
	@DocDesc("末次操作时间")
	@MappingColumn(columnName = "LAST_OPR_TIME")
	private Date lastOprTime;
	@DocDesc("处理时间")
	@MappingColumn(columnName = "HANDING_TIME")
	private Date handingTime;
	@DocDesc("获取时间")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@MappingColumn(columnName = "GET_TIME")
	private Date getTime;
	@DocDesc("购买用途")
	@MappingColumn(columnName = "PURPOSE")
	private Integer purpose;
	@DocDesc("购买性质")
	@MappingColumn(columnName = "PURCHASE_NATURE")
	private Integer purchaseNature;
	@DocDesc("购买方式")
	@MappingColumn(columnName = "PURCHASE_MODE")
	private Integer purchaseMode;
	@DocDesc("备注信息")
	@MappingColumn(columnName = "INTENTION_REMARK")
	private String intentionRemark;
	@DocDesc("客户外键ID")
	@MappingColumn(columnName = "CUSTOMER_SHOP_ID")
	private String customerShopId;
	@DocDesc("渠道ID")
	@MappingColumn(columnName = "INTENTION_CHANNEL_ID")
	private String intentionChannelId;
	@DocDesc("渠道名称")
	@MappingColumn(columnName = "INTENTION_CHANNEL_NAME")
	private String intentionChannelName;
	@DocDesc("意向等级ID")
	@MappingColumn(columnName = "INTENTION_LEVEL_ID")
	private String intentionLevelId;
	@DocDesc("意向等级名称")
	@MappingColumn(columnName = "INTENTION_LEVEL_TXT")
	private String intentionLevelTxt;
	@DocDesc("意向车型信息列表")
	@MappingTable(tableName = "CRM_INTENTION_MODEL", modelClass = IntentionModel.class)
	private List<IntentionModel> intentionModelList;
	@DocDesc("跟进历史")
	@MappingTable(tableName = "CRM_FOLLOW", modelClass = Follow.class)
	private List<Follow> followList;
	@DocDesc("客户信息")
	@MappingTable(tableName = "CRM_CUSTOMER_SHOP")
	private CustomerShop customerShop;
	@DocDesc("市场id")
	@MappingColumn(columnName = "MARKET_ID")
	private String marketId;
	@DocDesc("商铺id")
	@MappingColumn(columnName = "SHOP_ID")
	private String shopId;
	@DocDesc("负责人姓名")
	private String rechargerName;
	@DocDesc("意向车型")
	@MappingColumn(columnName = "MODEL_NAME")
	private String modelName;
	@MappingColumn(columnName = "CUSTOMER_MOBILE")
	private String customerMobile;
	@MappingColumn(columnName = "CUSTOMER_CONTACT_NAME")
	private String customerContactName;

	@MappingTable(tableName = "CRM_FOLLOW_UP")
	private FollowUp followUp;

	@MappingTable(tableName = "CRM_FOLLOW_APPOINT")
	private FollowAppoint followAppoint;

	@MappingTable(tableName = "CRM_FOLLOW_REACH")
	private FollowReach followReach;

	@MappingTable(tableName = "CRM_FOLLOW_ORDER")
	private FollowOrder followOrder;

	@MappingTable(tableName = "CRM_FOLLOW_FIXTURE")
	private FollowFixture followFixture;

	@MappingTable(tableName = "CRM_FOLLOW_LOSE")
	private FollowLose followLose;



	private IntentionVO intentionVO;// 车系

	public String getIntentionId() {
		return intentionId;
	}

	public void setIntentionId(String intentionId) {
		this.intentionId = intentionId;
	}

	public Integer getIntentionType() {
		return intentionType;
	}

	public void setIntentionType(Integer intentionType) {
		this.intentionType = intentionType;
	}

	public String getIntentionNo() {
		return intentionNo;
	}

	public void setIntentionNo(String intentionNo) {
		this.intentionNo = intentionNo;
	}

	public Integer getIntentionState() {
		return intentionState;
	}

	public void setIntentionState(Integer intentionState) {
		this.intentionState = intentionState;
	}

	public Integer getOpportunityState() {
		return opportunityState;
	}

	public void setOpportunityState(Integer opportunityState) {
		this.opportunityState = opportunityState;
	}

	public Date getOpportunityOprTime() {
		return opportunityOprTime;
	}

	public void setOpportunityOprTime(Date opportunityOprTime) {
		this.opportunityOprTime = opportunityOprTime;
	}

	public String getOpportunityRemark() {
		return opportunityRemark;
	}

	public void setOpportunityRemark(String opportunityRemark) {
		this.opportunityRemark = opportunityRemark;
	}

	public String getFollowerId() {
		return followerId;
	}

	public void setFollowerId(String followerId) {
		this.followerId = followerId;
	}

	public String getFollowerName() {
		return followerName;
	}

	public void setFollowerName(String followerName) {
		this.followerName = followerName;
	}

	public Integer getIsOpportunity() {
		return isOpportunity;
	}

	public void setIsOpportunity(Integer isOpportunity) {
		this.isOpportunity = isOpportunity;
	}
	public BigDecimal getIntentionBudgetMind() {
		return intentionBudgetMind;
	}
	public void setIntentionBudgetMind(BigDecimal intentionBudgetMind) {
		this.intentionBudgetMind = intentionBudgetMind;
	}
	public BigDecimal getIntentionBudgetMaxd() {
		return intentionBudgetMaxd;
	}

	public void setIntentionBudgetMaxd(BigDecimal intentionBudgetMaxd) {
		this.intentionBudgetMaxd = intentionBudgetMaxd;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public Date getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	public Date getLastOprTime() {
		return lastOprTime;
	}

	public void setLastOprTime(Date lastOprTime) {
		this.lastOprTime = lastOprTime;
	}

	public Date getHandingTime() {
		return handingTime;
	}

	public void setHandingTime(Date handingTime) {
		this.handingTime = handingTime;
	}

	public Date getGetTime() {
		return getTime;
	}

	public void setGetTime(Date getTime) {
		this.getTime = getTime;
	}

	public Integer getPurpose() {
		return purpose;
	}

	public void setPurpose(Integer purpose) {
		this.purpose = purpose;
	}

	public Integer getPurchaseNature() {
		return purchaseNature;
	}

	public void setPurchaseNature(Integer purchaseNature) {
		this.purchaseNature = purchaseNature;
	}

	public Integer getPurchaseMode() {
		return purchaseMode;
	}

	public void setPurchaseMode(Integer purchaseMode) {
		this.purchaseMode = purchaseMode;
	}

	public String getIntentionRemark() {
		return intentionRemark;
	}

	public void setIntentionRemark(String intentionRemark) {
		this.intentionRemark = intentionRemark;
	}

	public List<IntentionModel> getIntentionModelList() {
		return intentionModelList;
	}

	public void setIntentionModelList(List<IntentionModel> intentionModelList) {
		this.intentionModelList = intentionModelList;
	}

	public List<Follow> getFollowList() {
		return followList;
	}

	public void setFollowList(List<Follow> followList) {
		this.followList = followList;
	}

	public String getMarketId() {
		return marketId;
	}

	public void setMarketId(String marketId) {
		this.marketId = marketId;
	}

	public String getShopId() {
		return shopId;
	}

	public void setShopId(String shopId) {
		this.shopId = shopId;
	}

	public String getRechargerName() {
		return rechargerName;
	}

	public void setRechargerName(String rechargerName) {
		this.rechargerName = rechargerName;
	}

	public String getModelName() {
		return modelName;
	}

	public void setModelName(String modelName) {
		this.modelName = modelName;
	}

	public String getCustomerMobile() {
		return customerMobile;
	}

	public void setCustomerMobile(String customerMobile) {
		this.customerMobile = customerMobile;
	}

	public String getCustomerContactName() {
		return customerContactName;
	}

	public void setCustomerContactName(String customerContactName) {
		this.customerContactName = customerContactName;
	}

	public String getCustomerShopId() {
		return customerShopId;
	}

	public void setCustomerShopId(String customerShopId) {
		this.customerShopId = customerShopId;
	}

	public String getIntentionChannelId() {
		return intentionChannelId;
	}

	public void setIntentionChannelId(String intentionChannelId) {
		this.intentionChannelId = intentionChannelId;
	}

	public String getIntentionChannelName() {
		return intentionChannelName;
	}

	public void setIntentionChannelName(String intentionChannelName) {
		this.intentionChannelName = intentionChannelName;
	}

	public String getIntentionLevelId() {
		return intentionLevelId;
	}

	public void setIntentionLevelId(String intentionLevelId) {
		this.intentionLevelId = intentionLevelId;
	}

	public String getIntentionLevelTxt() {
		return intentionLevelTxt;
	}

	public void setIntentionLevelTxt(String intentionLevelTxt) {
		this.intentionLevelTxt = intentionLevelTxt;
	}

	public CustomerShop getCustomerShop() {
		return customerShop;
	}

	public void setCustomerShop(CustomerShop customerShop) {
		this.customerShop = customerShop;
	}

	public FollowUp getFollowUp() {
		return followUp;
	}

	public void setFollowUp(FollowUp followUp) {
		this.followUp = followUp;
	}

	public FollowAppoint getFollowAppoint() {
		return followAppoint;
	}

	public void setFollowAppoint(FollowAppoint followAppoint) {
		this.followAppoint = followAppoint;
	}

	public FollowReach getFollowReach() {
		return followReach;
	}

	public void setFollowReach(FollowReach followReach) {
		this.followReach = followReach;
	}

	public FollowOrder getFollowOrder() {
		return followOrder;
	}

	public void setFollowOrder(FollowOrder followOrder) {
		this.followOrder = followOrder;
	}

	public FollowFixture getFollowFixture() {
		return followFixture;
	}

	public void setFollowFixture(FollowFixture followFixture) {
		this.followFixture = followFixture;
	}

	public FollowLose getFollowLose() {
		return followLose;
	}

	public void setFollowLose(FollowLose followLose) {
		this.followLose = followLose;
	}

	public IntentionVO getIntentionVO() {
		return intentionVO;
	}

	public void setIntentionVO(IntentionVO intentionVO) {
		this.intentionVO = intentionVO;
	}
}
